米マイクロソフトのビル・ヒルフ氏
米マイクロソフトのビル・ヒルフ氏

 2009年内にもクラウド・コンピューティング・サービス「Windows Azure」を開始する予定の米マイクロソフト。同社はクラウドを、HPC(ハイ・パフォーマンス・コンピューティング)用途にも売り込む考えだ。プラットフォーム戦略を立案するビル・ヒルフ氏に詳細を聞いた。(聞き手は、中田 敦=日経コンピュータ)。

マイクロソフトのHPC戦略について2年前にインタビューしたときには、まだWindows Azureもなく、クラウド・コンピューティングの発想が欠けているように感じた(関連記事)。

 われわれは現在、“空”にあるHPC計算パワーを提供することで、HPCを誰もが使えるよう「民主化」しようと考えている。単なるHPCのホスティングではない。科学技術計算のモデルやデータも合わせて提供する「スーパー・コンピュータ、モデル・アンド・データ・イン・ザ・スカイ」だ。

ExcelからHPCクラスタを利用可能に

 既に二つの大学と進めている「Microsoft HPC++ Labs」がモデルケースとなる。例えば米ワシントン大学の学生は現在、マイクロソフトがクラウドで運用しているスーパー・コンピュータを自由に利用できる。学生はユーザー・インタフェースとしてExcelを使いながら、データの分析はクラウド上のHPCクラスタで行う、といったことを可能にしている。複雑なデータセットをHPCで分析して、Excelを使って可視化(ビジュアライズ)して閲覧しているのだ。

 Microsoft HPC++ Labsはインキュベーション・プロジェクト(事業の芽を探すためのプロジェクト)の段階。科学技術計算に特化したクラウド・サービスを2011年には始められるのではないかと考えている。

 HPCを誰もが使えるようになれば、様々な新しいビジネスが生まれる。先日、「Windows HPC Server」を使ってメジャーリーグの全投手の全投球を分析し、選手のスカウティングに役立てているという話を聞いた。そういったサービスを提供するベンチャー企業が次々に登場するだろう。

HPCの民主化はクラウドだけで可能なのか?

 処理の「並列化」を実現する開発ツールも重要だ。これからのコンピュータは、HPCに限らずあらゆる分野で並列化が重要になる。マイクロソフトに限らず、インテルやアップルでも、最も優秀なエンジニアは並列化を研究している。

 ただし、並列化に対応したアプリケーションを開発するのは容易でない。マイクロソフトとしては、並列化のための作業を抽象化した開発ツールを提供することで、他のベンダーとの違いを出していきたい。

 「PLINQ(Parallel LINQ)」というデータ・アクセス技術が代表例だ。これはデータ・アクセス技術の「LINQ」を並列化したものだ。

 例えば、膨大なデータからある特定の名前を探し出すプログラムを単体のコンピュータを想定して作るのは容易だが、並列化するのは難しい。PLINQを使えば「AsParallel( )」というパラメータを追加するだけで、アプリケーション開発・実行環境の .NET Frameworkがクエリーを並列化する。マルチコアであれ、マルチノードであれ、並列化が可能だ。

 .NET Frameworkの備える並列化機能は、PLINQだけでなく、C#やC++、Ruby、Python、Visual Basicといった.NETが対応するすべての言語で利用できる。Visual Basicは、プログラマでなかった人をプログラマの領域に引き上げた。マイクロソフトは並列化でも同じことをする。Visual Basicプログラマだけでなく、プログラム経験が無い人も並列化に対応したアプリケーションを開発できるようにするのが、マイクロソフトの使命だ。